<?php
/**
 * 获取管理员信息
 * @return mixed
 */
function admin_info()
{
    return guard('admin')->user()->toArray();
}

/**
 * 友好返回正确信息
 * @param string $msg
 * @param array $data
 * @return array
 */
function hello_success($msg = '', $data = [])
{
    return ['code' => 0, 'msg' => $msg, 'data' => $data];
}

/**
 * 友好返回错误信息
 * @param string $msg
 * @param array $data
 * @param int $code
 * @return array
 */
function hello_error($msg = '', $data = [], $code = 1)
{
    return ['code' => $code, 'msg' => $msg, 'data' => $data];
}

/**
 * 友好返回正确信息(json)
 * @param string $msg
 * @param array $data
 * @return \Illuminate\Http\JsonResponse
 */
function json_success($msg = '', $data = [])
{
    return response()->json(['code' => 0, 'msg' => $msg, 'data' => $data]);
}

/**友好返回错误信息(json)
 * @param string $msg
 * @param array $data
 * @param int $code
 * @return \Illuminate\Http\JsonResponse
 */
function json_error($msg = '', $data = [], $code = 403)
{
    return response()->json(['code' => $code, 'msg' => $msg, 'data' => $data]);
}

/**
 * 错误提示
 * @param string $msg
 */
function error_prompt($msg = '')
{
    echo $msg;
    die;
}

/**
 * 事务开始
 */
function shi_wu_start()
{
    \Illuminate\Support\Facades\DB::beginTransaction();
}

/**
 * 事务结束
 * @param $res
 */
function shi_wu_end($res)
{
    if ($res['code'] != 0) {
        \Illuminate\Support\Facades\DB::rollBack();
    } else {
        \Illuminate\Support\Facades\DB::commit();
    }
}

/**
 * 列表分页数据处理
 * @param $data
 * @param array $search_data
 * @return array
 */
function list_data_page($data, $search_data = [])
{
    $result = [
        'code' => 0,
        'msg' => '正在请求中...',
        'count' => $data['total'],
        'data' => $data['data'],
        'searchData' => $search_data
    ];

    return $result;
}

/**
 * 平面数组转树形数组
 * @param $list
 * @param string $pk
 * @param string $pid
 * @param string $child
 * @param int $root
 * @return array
 */
function makeTree($list, $pk = 'id', $pid = 'pid', $child = 'children', $root = 0)
{
    if (!is_array($list)) {
        return [];
    }

    // 创建基于主键的数组引用
    $aRefer = [];
    foreach ($list as $key => $data) {
        $aRefer[$data[$pk]] = &$list[$key];
    }

    $tree = [];
    foreach ($list as $key => $data) {
        // 判断是否存在parent
        $parentId = $data[$pid];
        if ($root === $parentId) {
            $tree[] = &$list[$key];
        } else {
            if (isset($aRefer[$parentId])) {
                $parent = &$aRefer[$parentId];
                $parent[$child][] = &$list[$key];
            }
        }
    }

    return $tree;
}


/**
 * 百度富文本编辑器
 * @param string $sData 富文本里的数据
 * @param string $nName 富文本数据提交表单是对应的表单字段
 * @return string
 */
function ueditor($sData = '', $nName = 'content')
{
    $html = '';

    //配置文件
    $html .= '<script type="text/javascript" src="' . asset("UEditor/ueditor.config.js") . '"></script>';

    //编辑器源码文件
    $html .= '<script type="text/javascript" src="' . asset("UEditor/ueditor.all.js") . '"></script>';

    //实例化编辑器'
    $html .= '<script type="text/javascript">var ue = UE.getEditor("ue-container");</script>';

    //加载编辑器的容器
    $html .= '<script id="ue-container" name="' . $nName . '" style="width:100%;height:400px;" type="text/plain">' . $sData . '</script>';

    return $html;
}

